import 'package:flutter/material.dart';
import './res/date.dart';

main(List<String> args) {
  runApp(Basewhidget());
}

class Basewhidget extends StatelessWidget {
  // statelessWidget 是一个无状态的组件，用于自定义组件

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      // materialAPP 是作为根组件使用，定义该页面展示的总体布局
      home: Scaffold(
        appBar: AppBar(
          //appbar 是APP的导航
          title: Text(
            "随机",
            style: TextStyle(color: Colors.black),
          ), // 页面上面导航的标题
          backgroundColor: Color.fromRGBO(220, 220, 220, 1), // 背景颜色
          elevation: 0, // 状态栏阴影
        ),
        body: Mybody(), // 页面内容
      ),
    );
  }
}

class Mybody extends StatelessWidget {
  Widget _getData(context, index) {
    return Container(
        child: ListView(
      children: <Widget>[
        Image.network(listData[index]["imageurl"]),
        Text(listData[index]["title"]),

        // SizedBox(height: 1,)
      ],
    ));
  }

  @override
  Widget build(BuildContext context) {
    return MyaddState();
  }
}

class MyaddState extends StatefulWidget {
  // statefulWidget 是一个有状态的组件，
// flutter中有两种组件，无状态（StatelessWidget）和有状态（StatelessWidget），
//在有状态的组件中可以动态刷新组件数据
  MyaddState({Key key}) : super(key: key);

  @override
  _MyaddStateState createState() => _MyaddStateState();
}

class _MyaddStateState extends State<MyaddState> {
  get child => null;
  List lists = new List();
  int num = 0;
  @override
  Widget build(BuildContext context) {
    return ListView(
      children: <Widget>[
        Column(
            children: this.lists.map((value) {
          print(value);
          return Container(
            margin: EdgeInsets.fromLTRB(10, 5, 10, 5),
            child: Row(
              children: <Widget>[
                Expanded(
                    child: Image.network(
                  // ignore: unnecessary_brace_in_string_interps
                  "https://api.iehu.cn/Image.php?a=${value}",
                  fit: BoxFit.cover,
                ))
              ],
            ),
          );
        }).toList()),
        RaisedButton(
          child: Text("点一下"),
          onPressed: () {
            setState(() {
              //setState 是将当前视图重新绘制一遍， 而上面listtitle 中的数据来自this.lists
              // 所以，当点击按钮的时候会出现动态添加数据的功能
              this.num += 1;
              this.lists.add("${this.num}"); // 当lists中的数据发生改变的时候会自动触发刷新
            });
          },
        )
      ],
    );
  }
}
